User interface for assisting in the installation of an asset

ABSTRACT

Some embodiments of the invention provide a method that assists in the installation of an asset in a graphical user interface for a computer system. The method receives a selection of the asset that has not yet been installed on the computer system. It then responds to the selection of the asset by displaying a preview of the asset without installing the asset on the computer system. In some embodiments, the method receives a modification of an attribute of the asset. It then responds to the modification of the attribute of the asset by displaying a preview of the modification of the attribute of the asset without installing the asset on the computer system. In some embodiments, the preview of the asset is used to assist in the determination of whether to install the asset.

FIELD OF THE INVENTION

The present invention relates to a user interface for assisting in theinstallation of an asset.

BACKGROUND OF THE INVENTION

Computer systems come packaged and pre-installed with a variety offonts. In most instances, users will find the fonts that they wantalready installed on their computer system. However, there may be timeswhen users need a particular type of font that is not installed on thecomputer system. In such a case, users can typically find fontselsewhere and install it on their computer system. There are numerousways for users to find and retrieve fonts for their computer system. Forexample, users can find fonts on a website and download it to theircomputer system.

Once the font has been retrieved to their computer system, a user caninstall the font on his computer system. In most cases, the user mustcopy the font into the right folder in order to install the font on thecomputer system. Therefore, if the user does not know where to copy thefont, then he will be unable to install the retrieved font. Anotherdrawback of the current font installation method is that users areunable to preview the retrieved font until it has been installed on thecomputer system. In some instances, it may be possible that usersinadvertently retrieved the wrong font. Under current font installationmethods, users will not know that they downloaded the wrong font untilthey install the font on their computer system. Once they figure outthat a wrong font has been installed, then they have to uninstall thefont.

Therefore, there is a need for a better way of installing fonts on acomputer system. Specifically, there is a need for way for installingfonts on a computer system without having to manually copy the font to afolder. Additionally, there is a need for a way for previewing a font,before installing the font on the computer system. Ideally, thistechnique can be used to install other types of assets.

SUMMARY OF THE INVENTION

Some embodiments of the invention provide a method that assists in theinstallation of an asset in a graphical user interface of a computersystem. The method receives a selection of the asset that has not yetbeen installed on the computer system. It then responds to the selectionof the asset by displaying a preview of the asset without installing theasset on the computer system. In some embodiments, the method receives amodification of an attribute of the asset. It then responds to themodification of the attribute of the asset by displaying a preview ofthe modification of the attribute of the asset without installing theasset on the computer system. In some embodiments, the preview of theasset is used to assist in the determination of whether to install theasset.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an event-flow process of several embodiments of theinvention.

FIG. 2 illustrates a portion of a GUI of several embodiments of theinvention.

FIG. 3 illustrates a portion of a GUI for previewing an asset.

FIG. 4 illustrates a portion of a GUI for previewing an asset with amenu selected.

FIG. 5 illustrates a portion of a GUI for previewing an asset with adifferent view of an attribute of the asset.

FIG. 6 illustrates a GUI with a window once the asset has been installedon the computer system.

FIG. 7 illustrates a block diagram of a GUI with an option to installasset in different folders.

FIG. 8 illustrates a block diagram of a computer system.

DETAILED DESCRIPTION OF THE INVENTION

In the following detailed description of the invention, numerousdetails, examples and embodiments of the invention are set forth anddescribed. However, it will be clear and apparent to one skilled in theart that the invention is not limited to the embodiments set forth andthat the invention may be practiced without some of the specific detailsand examples discussed.

I. Definitions

A graphical user interface (“GUI”) is an interface of a computer systemthat allows users to interact with the computer system through imagesand text. A GUI allows users to interact with the computer system in anintuitive graphical manner. Instead of learning and writing complexcommand languages, users can perform many operations by simplyinteracting with the visual components of a GUI, which are often easy tounderstand. A GUI often includes a cursor pointer, icons, desktop,windows, etc. The cursor pointer (the “cursor”) is a pointer that a usercan move across the GUI through the operation of a cursor controller,such as a mouse, a trackpad, trackball, etc. A user can use the cursorto select objects in the GUI. For instance, the user can select anobject by dragging the cursor to the object and perform a clickoperation (e.g., through a button of the cursor controller):

Icons are examples of selectable objects in a GUI. Icons are used torepresent folders, files, commands, etc. in the GUI. An icon can berepresented by a text component, an image component, or both text andimage components. The desktop refers to the contents on a display screenbelow any windows. A window is an area on the display screen thatdisplays its own file, message, application, etc. independently of otherwindows that are displayed on the display screen.

II. Overview

Some embodiments of the invention provide a method that assists in theinstallation of an asset in a graphical user interface for a computersystem. The method receives a selection of the asset that has not yetbeen installed on the computer system. It then responds to the selectionof the asset by displaying a preview of the asset without installing theasset on the computer system.

In some embodiments, the method receives a modification of an attributeof the asset. It then responds to the modification of the attribute ofthe asset by displaying a preview of the modification of the attributeof the asset without installing the asset on the computer system. Insome embodiments, the preview of the asset is used to assist in thedetermination of whether to install the asset.

In some embodiments, the method receives a request to install the asset.It then installs the asset on the computer system. An asset that isinstalled on the computer system is an asset that is available for useby a program or the operating system of the computer system.Accordingly, to install an asset, some embodiments perform a set ofoperations to make the asset available for use by the operating systemand/or its applications.

The previewed and installed asset is a font in some embodiments. A fontis typically a design for a set of text, numbers and/or characters. Afont has various characteristics (attributes), such as typeface, size,spacing, and pitch, etc. Different embodiments install a fontdifferently. For instance, in some embodiments, installing a fontentails copying the font into an appropriate folder, e.g., a folder thatcontains other installed fonts.

Some embodiments facilitate the installation of a font by providing theuser with an install icon in proximity to the preview display of thefont. When the user selects the install icon, these embodiments thenlaunch an application that automatically installs the font in theappropriate location on the computer system. Alternatively, someembodiments provide the user with a list of locations to install thefont, when the user selects the install icon. Once the user specifiesthe installation location, these embodiments then install the font inthis location.

Before or after installing a font, some embodiments determine whether anidentical font is already installed on the computer system. If so, theseembodiments display an indication that the identical font is alreadyinstalled on the computer system.

III. Event Flow

FIG. 1 illustrates an event-flow process of some embodiments of theinvention. In these embodiments, the invention is employed to previewand install an asset in a computer system. In some embodiments, theevents illustrated in FIG. 1 are performed by more than one softwaremodule of a computer system.

The event-flow diagram of FIG. 1 will be described below by reference toexamples illustrated in FIGS. 2-6. In these examples, the asset that isbeing previewed is a font. These figures and the description of thesefigures present numerous specific GUI elements (e.g., windows, buttons,displays, etc.) for implementing several embodiments of the invention.However, one of ordinary skill will realize that the invention can bepracticed without these specific elements.

FIG. 2 illustrates a portion of a GUI 200 that includes a desktop 210,and a font file 220. The font file 220 is a selectable object (e.g., anicon) in the GUI 200. The font file 220 contains information about afont (e.g., the Times New Roman font). Within the font file, there areseveral ways to represent fonts. One way is to store font data inbit-mapped format. In bit-mapped format, every character is representedby an array of dots. Also, each font character is represented by its owndata, even if for example, the typeface is the same. Another way tostore font data is in a vector format. In vector format, the outline ofeach character is defined by geometric shape. An advantage of vectorformat over bit-mapped format is that the vector format is scalable.This means that, unlike the bit-mapped format, the same data can be usedto represent fonts of different sizes.

The font file 220 has been copied to the computer system but may nothave been installed on the computer system. A font can be copied to alocation (e.g., to a folder or desktop) on a computer system in a numberof different ways. For instance, at times, a font is downloaded over anetwork. Alternatively, a font can be copied from a removable storagemedium, such as a CD.

Regardless of how an asset is received by the computer system, theevent-flow process 100 of FIG. 1 allows a user to preview the assetwithout having to install it on the computer system. As shown in thisfigure, the event flow starts when a user selects (at 110) an asset forpreview. A user can select an asset for preview in several differentways. For instance, in some embodiments, a user selects a font resourceby moving a cursor over the font resource and performing a double-clickoperation.

Once an asset has been selected (at 110) for preview, the process 100(at 120) opens a preview window in the graphical user interface. Theprocess then displays (at 120) a preview presentation in the previewwindow without first installing the asset on the computer system.

FIG. 3 illustrates an example of such a preview operation. Specifically,this figure illustrates a preview window 300 that has been opened in thegraphical user interface 200 after a user has selected the font resource200 for preview. The window 300 includes a viewing section 310 fordisplaying one or more presentations of the font resource 220.

The window 300 further includes a menu section 320 for modifying anattribute relating to the presentation of the font resource 220. In thisexample, the attribute is the font style, which includes the stylesItalic, Regular, Bold, and Bold Italic. Also, in this example, the menusection 320 is a pull down menu that allows the user to select one ofthe font styles for the font presentation that is displayed in thepreview window. In FIG. 3, the menu section 320 indicates that thecurrent font style of the font resource 220 is a bold typeface.Accordingly, the viewing section 310 displays a presentation of the fontresource 220 in a bold typeface. The window 300 further includes aninstallation button 330 for installing the font resource being previewedon the computer system.

After a preview presentation of the asset 220 is displayed (at 120) in apreview window, the process 100 transitions to 130, where it waits foruser input. As shown in FIG. 1, the process transitions from 130 to 140when it receives a request to modify a presentation attribute of theasset. For instance, FIG. 4 illustrates an example where the user hasopened the drop-down menu section 320 and changed the font style for thepreview presentation of the font resource 220 from Bold to Regular.

At 140, the presentation attribute of the asset is modified according tothe request. The presentation of the asset in the preview window is thenmodified (at 140) according to the modification of the presentationattribute. FIG. 5 illustrates an example of changing the presentation ofthe font resource 200. Specifically, this figure illustrate the viewingsection 310 of the preview window 300 as displaying the presentation ofthe font resource 200 in a Regular font style, in accordance to the fontstyle change previously illustrated in FIG. 4. FIG. 5 also illustratesin the menu section 320 that the Regular font style is the currentpreview font style. Once the process modifies the preview of thepresentation of the asset in the preview window, the process transitionsback to 130 to wait for the next user input.

The process 100 loops through 140 several times when the user makesseveral requests to modify of the presentation attribute. Each time theprocess loops through 140 it changes the preview presentation inaccordance with the user's requested modification. In some embodiments,the user can change more than one presentation attribute of the previewpresentation. For instance, in the font installation example, someembodiments allow the user to change not only the font style but alsothe font size of the presentation in the preview window. By allowing theuser to repeatedly examine different preview presentations of an asset,the process 100 allows a user to robustly explore an asset beforedeciding to install it.

When the process receives (at 130) a user request to install a previewedasset, the process determines (at 150) whether it has previouslyinstalled the asset. If not, the process installs (at 160) the asset. Insome embodiments, the process 100 launches another application toinstall the asset. For instance, in some embodiments, the process 100launches a font application (e.g., a Font Book application) to install afont resource that it previously previewed. The process uses one of theknown techniques in the art for installing a font on a computer. In someembodiments, the installation entails copying the font resource 220 fromits current location on the computer system to a folder where otherinstalled font resources are located. After installing the asset at 160,the process 100 terminates.

Once the font resource 220 is installed, the font installing applicationpresents a window that displays the installed font resources. FIG. 6illustrates an example of such a window. This window is displayed by theFont Book application. This window includes a font viewing section 610that displays a presentation of the font resource 220, which has nowbeen installed on the computer system. The font window 600 furtherincludes a font listing section 200 for displaying a list of installedfont resources, including the font resource 220.

When the process determines (at 150) that it has previously installedthe asset, the process transitions to 170. At 170, the process installsthe asset again. As before, the process can provide (at 170) a previewof the installed asset in a preview window, such as thefont-installation preview window 300. In some embodiments, the process100 also provides (at 170) a visual clue regarding the duplicateinstallation of the asset.

For instance, in the font-installation example discussed above, the FontBook application determines (at 150) that the font resource 220,representing the Times New Roman font, was previously installed. Hence,it transitions to 170, where it installs this resource one more time. At170, the Font Book application indicates to the user that there is morethan one copy of a Times New Roman font installed on the computersystem. Specifically, as illustrated in FIG. 6, the Font Bookapplication lists the Times New Roman font styles again as installedfont styles in its listing display 620 of installed fonts, and places adot next to each Times New Roman font style that has been installed morethan once.

After 170, the process terminates. The process also terminates whenwhile waiting at 130, it receives a user's request to terminate thepreviewing of an asset.

The process 100 of FIG. 1 and the examples of FIGS. 2-6 conceptuallyillustrate one manner for installing fonts. One of ordinary skill willrealize that other embodiments install fonts differently. For instance,some embodiments might not provide a preview of a font, but insteadsimply install a font in an appropriate location. These embodiments canautomatically install the font directly or indirectly through anotherapplication (e.g., the Font Book application).

Alternatively, other embodiments present a user with a list of foldersto install a font, once a user selects a font file for installation.FIG. 7 illustrates an example of such a presentation. In this example, awindow 700 provides a user with four possible folders 705-720 to installa font. The user can select one of these folders (e.g., by clicking onone of these folders) and then select the install icon 725 to installthe font in the selected folder.

Before presenting the user with the list of installation folders, someembodiments provide the user with an opportunity to preview a fontbefore installation. Other embodiments simply provide the list ofinstallation folders when the user selects a font file that is not inone of the installation folders.

The process 100 was described above by reference to a font-installationexample. This process, however, can be used to preview and install manyother assets on the computer system. For instance, this process can beused to preview and install screen savers. In some embodiments, such aprocess would allow the user to modify attributes of the screen saver,such as its speed effects, etc.

Other assets employed in other embodiments include any resource that hasan audible or visual presentation that a user might wish to previewbefore installing the resource on the computer. Examples of such assetsinclude sounds, pictures, etc. The invention can also be used toautomatically install an asset that does not contain code (i.e., anasset that is not executable).

IV. Computer System

FIG. 8 presents a computer system with which one embodiment of theinvention is implemented. Computer system 800 includes a bus 805, aprocessor 810, a system memory 815, a read-only memory 820, a permanentstorage device 825, input devices 830, and output devices 835. The bus805 collectively represents all system, peripheral, and chipset busesthat communicatively connect the numerous internal devices of thecomputer system 800. For instance, the bus 805 communicatively connectsthe processor 810 with the read-only memory 820, the system memory 815,and the permanent storage device 825.

From these various memory units, the processor 810 retrievesinstructions to e3cute and data to process in order to e3cute theprocesses of the invention. The read-only-memory (ROM) 820 stores staticdata and instructions that are needed by the processor 810 and othermodules of the computer system.

The permanent storage device 825, on the other hand, is read-and-writememory device. This device is a non-volatile memory unit that storesinstruction and data even when the computer system 800 is off. Someembodiments of the invention use a mass-storage device (such as amagnetic or optical disk and its corresponding disk drive) as thepermanent storage device 825.

Other embodiments use a removable storage device (such as a floppy diskor Zip® disk, and its corresponding disk drive) as the permanent storagedevice. Like the permanent storage device 825, the system memory 815 isa read-and-write memory device. However, unlike storage device 825, thesystem memory is a volatile read-and-write memory, such as a randomaccess memory. The system memory stores some of the instructions anddata that the processor needs at runtime. In some embodiments, theinvention's processes are stored in the system memory 815, the permanentstorage device 825, and/or the read-only memory 820.

The bus 805 also connects to the input and output devices 830 and 835.The input devices enable the user to communicate information and selectcommands to the computer system. The input devices 830 includealphanumeric keyboards and cursor-controllers. The output devices 835display images generated by the computer system. The output devicesinclude printers and display devices, such as cathode ray tubes (CRT) orliquid crystal displays (LCD).

Finally, as shown in FIG. 8, bus 805 also couples computer 800 to anetwork 865 through a network adapter (not shown). In this manner, thecomputer can be a part of a network of computers (such as a local areanetwork (“LAN”), a wide area network (“WAN”), or an Intranet) or anetwork of networks (such as the Internet). Any or all of the componentsof computer system 800 may be used in conjunction with the invention.However, one of ordinary skill in the art would appreciate that anyother system configuration may also be used in conjunction with thepresent invention.

One of ordinary skill will realize that the above-described embodimentshave numerous advantages. For instance, as described above, someembodiments provide a user with an ability to preview an asset beforeinstalling it. This ability saves the user time in deciding whether toinstall an asset and reduces the instances the user has to uninstall afeature that the user no longer desires. Also, some embodimentsautomatically install a font without requiring a user to specify aparticular location for the installation.

While the invention has been described with reference to numerousspecific details, one of ordinary skill in the art will recognize thatthe invention can be embodied in other specific forms without departingfrom the spirit of the invention. Thus, one of ordinary skill in the artwould understand that the invention is not to be limited by theforegoing illustrative details, but rather is to be defined by theappended claims.

1-31. (canceled)
 32. A computer readable medium storing a computerprogram comprising a user interface (“UI”) for installing an asset on acomputing device, the computer program executable by at least oneprocessor, the computer program comprising: a set of instructions fordisplaying a preview of the asset in a UI display area withoutinstalling the asset on the computing device; a set of instructions forreceiving a selection of a UI item; and a set of instructions forinstalling the asset on the computing device in response to theselection.
 33. The computer readable medium of claim 32, wherein thepreview of the asset is displayed when a user selects a file comprisinginformation about the asset.
 34. The computer readable medium of claim33, wherein the set of instructions for installing the asset comprises aset of instructions for copying the file to a folder that includes otherinstalled assets.
 35. The computer readable medium of claim 32, whereinthe asset is a font.
 36. The computer readable medium of claim 32,wherein the UI item is a first UI item, wherein the computer programfurther comprises: a set of instructions for receiving selection asecond UI item for modifying an attribute of the asset; and a set ofinstructions for displaying a preview of the asset with the attributemodified without installing the asset on the computing device.
 37. Thecomputer readable medium of claim 36, wherein the attribute is a fontstyle or font size.
 38. The computer readable medium of claim 32,wherein the computer program further comprises: a set of instructionsfor determining whether the asset is installed on the computing device;and a set of instructions for displaying a visual indication that theasset is installed on the computing device when the determination ismade that the asset is installed.
 39. The computer readable medium ofclaim 32, wherein the set of instructions for installing the assetcomprises sets of instructions for: displaying a list of locations toinstall the asset, receiving identification of a location, andinstalling the asset to the identified location.
 40. The computerreadable medium of claim 32, wherein the set of instructions forinstalling the asset comprises sets of instructions for: displaying alist of accounts to install the asset, receiving identification of anaccount, and installing the asset to the identified account.
 41. Thecomputer readable medium of claim 32, wherein the asset is an asset thatis not installed on the computing device.
 42. A computer readable mediumstoring a computer program for execution by at least one processor toprovide a graphical user interface (“GUI”), the GUI comprising: a firstdisplay area for displaying a list of fonts installed on a computingdevice; a second display area for displaying different collections offonts; and a third display area for displaying a preview of a particularfont when the particular font is selected from the list of fontsdisplayed in the first display area.
 43. The computer readable medium ofclaim 42, wherein the GUI further comprises a visual indication that isdisplayed adjacent to the particular font in the first display area whenthe particular font has been installed multiple times.
 44. The computerreadable medium of claim 42, wherein the GUI further comprises a userselectable item for disabling an installed font.
 45. The computerreadable medium of claim 42, wherein the first display area allows auser of the GUI to select an attribute of the particular font to modifythe preview of the particular font displayed in the third display area.46. The computer readable medium of claim 45, wherein the attribute is afont style or font size.
 47. A method of installing a font on acomputing device, the method comprising: displaying a preview of thefont in a UI display area without installing the font on the computingdevice; receiving a selection of a UI item; and installing the font onthe computing device in response to the selection.
 48. The method ofclaim 47, wherein the preview of the font is displayed when a userselects a file comprising information about the font.
 49. The method ofclaim 48, wherein installing the font comprises automatically copyingthe file to a folder that includes other installed fonts.
 50. The methodof claim 47, wherein the UI item is a first UI item, the method furthercomprising: receiving selection a second UI item for modifying anattribute of the font; and displaying a preview of the font with theattribute modified without installing the font on the computing device.51. The method of claim 47, wherein the attribute is a font style orfont size.